package hot.arr;

public class A238 {

    //除自身以外的数组的乘积
    //前缀和后缀和的解法
        public int[] productExceptSelf(int[] nums) {
            int length=nums.length;
            int[] res=new int[length];
            int[] pre=new int[length+1];
            int[] nex=new int[length+1];
            pre[0]=1;
            //pre[i]代表前i个元素的乘积

            for(int i=0;i<length;i++){
                pre[i+1]=pre[i]*nums[i];
            }
            //
            nex[length]=1;
            for(int i=length-1;i<=0;i--){
              nex[i]=nex[i+1]*nums[i];
            }
 for(int i=0;i<length;i++){
     res[i]=pre[i]*nex[i+1];
 }
 return res;
        }
}
